# encoding    : utf-8 -*-                            
# @author     : 石明亮                                  
# @file       :   main.py
# @Time       :   2024/12/4 11:12



import os
import pytest

def run_tests():
    """
    执行测试并生成测试报告
    """
    test_directory = "./test_case_execution"
    allure_report_directory = "./report/temp_jsonreport"
    html_report_directory = "./report/html"
    parallel_threads = 4

    # 执行pytest，指定测试文件夹、详细模式、Allure报告目录和并行数
    result = pytest.main([
        test_directory,  # 指定测试文件夹
        "-sv",  # 显示详细日志
        "-n", str(8),  # 使用指定线程并行运行测试
        "--alluredir", allure_report_directory  # 指定Allure报告输出目录
    ])

    # 检查pytest执行结果
    if result == 0:
        print("测试执行成功，正在生成Allure HTML报告...")
        # 生成Allure HTML报告
        os.system(f"allure generate {allure_report_directory} -o {html_report_directory} --clean")
    else:
        print("测试执行失败，请检查日志。")

if __name__ == '__main__':
    run_tests()


'''
    具体：
        1、"./"这个是你测试用例的路径，比如我的所有的测试用例都在这个文件夹下，这个文件下又有很多每个用例的文件夹，那你如果想执行所有的用例就写到"./
        "这个路径就可以了，如果是想要执行这个文件下的某个用例，就写到具体的那个文件的路径。
        2、"--alluredir"这个是创建allure报告的路径。
        3、-o是执行，--clean是清除之前生成的报告。
        main.py整理好了，可以执行main文件，用例执行完成后，在report文件夹下会有两个文件夹：html、temp_jsonreport。在html这个文件夹下，找到index.html文件，这个就是我们生成的测试报告，右键用浏览器打开就可以看到了。
'''